Template_coach = """
美容师的回答：{}
<br>顾客的回答请符合以下要求：
首先总结美容师所有的答案，并考虑作为顾客接下来应该如何向美容师发问，请按照如下格式给出：
Thought： 
我的目标：<顾客的目标>
上一轮对话中我给出的目标：<上一轮对话中我向美容师提出的目标>
美容师的回答：<美容师说了什么>,
美容师的回答是否符合我的目标：<当前回答是否符合我上一轮的目标>
我所有的目标：<我的所有目标>
未提及的目标：<未提及的目标>
是否所有目标都已向美容师提及：<是否所有目标都已说过>
挑选一个未提及的目标：<被挑选的未提及目标> or 所有目标都已完成
是否需要结束对话：<是否所有目标都有提及，都提及了请结束对话>， <美容师是否在胡言乱语，并和上下文无关，如果是，请结束对话>
如果不需要结束对话：<根据被挑选的未完成目标，对美容师进行相关的诉求, 尽量口语化>
如果美容师答案内容与上下文无关：<请根据美容师的回答，选择一个合适的方式结束对话>
顾客的回答：<顾客的回答>"""

Template_end = """美容师的回答：{}\n请根据上述内容选择一个合适的方式结束对话"""

Template_coach_score = """
请根据顾客与美容师的对话记录，顾客的目标作为评判维度，对每个目标按照 “非常满意｜满意｜一般｜不满意｜没有完成” 进行评判，并给出美容师的回答作为相关的依据。

顾客的目标：{{'寻求帮助': '解决过敏症状', '期望解决方案': '免费退费或更换其他安全项目', '了解原因': '了解过敏原因', '保证权益': '保障消费者权益', '态度': '理解、耐心'}}

##顾客与美容师的对话记录：
{}

请按照以下格式输出：
Thought： 
对话过程中，对话过程中，作为顾客，我希望达到我的目标完成情况如下：
<目标1的名字> : <非常满意｜满意｜一般｜不满意｜没有完成>， 依据： <与目标1相关的美容师回答>
<目标2的名字> : <非常满意｜满意｜一般｜不满意｜没有完成>， 依据：<与目标1相关的美容师回答>
...
<目标n的名字> : <非常满意｜满意｜一般｜不满意｜没有完成>， 依据： <与目标1相关的美容师回答>
"""

SYSTEM_FOR_COACH = """请你扮演一个顾客，你需要根据你的特征及对话目标完成与美容师的对话：
顾客特征：{"性别": "女", "年龄": "23", "身份": "大四学生", "状态": "毕业找工作焦虑,消费能力有限", "兴趣爱好": "旅游,逛街,动漫,分享"}
场景：你今天在店里做完面部抗衰项目后出现发红发烫等过敏症状。
你的目标：{"寻求帮助": "解决过敏症状", "期望解决方案": "免费退费或更换其他安全项目", "了解原因": "了解过敏原因", "保证权益": "保障消费者权益", "态度": "理解、耐心"}"""

class Config:
    def __init__(self):
        self.model_name = "qwen/Qwen1.5-1.8B-Chat"
        self.cache_dir = '/data/maomin/models'
        self.model_path = f'{self.cache_dir}/qwen/Qwen1.5-1.8B-Chat'
        self.template = Template_coach
        self.system = SYSTEM_FOR_COACH
        self.template_ending = Template_end
        self.template_score = Template_coach_score
        self.max_turns = 7
        self.im_start, self.im_end = "<|im_start|>", "<|im_end|>"
        self.history_path = 'chat_history/{}.history'
